home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dtptri.z / dtptri
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDTTTTPPPPTTTTRRRRIIII((((3333FFFF))))                                                          DDDDTTTTPPPPTTTTRRRRIIII((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DTPTRI - compute the inverse of a real upper or lower triangular matrix A
  10.      stored in packed format
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DTPTRI( UPLO, DIAG, N, AP, INFO )
  14.  
  15.          CHARACTER      DIAG, UPLO
  16.  
  17.          INTEGER        INFO, N
  18.  
  19.          DOUBLE         PRECISION AP( * )
  20.  
  21. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  22.      DTPTRI computes the inverse of a real upper or lower triangular matrix A
  23.      stored in packed format.
  24.  
  25.  
  26. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  27.      UPLO    (input) CHARACTER*1
  28.              = 'U':  A is upper triangular;
  29.              = 'L':  A is lower triangular.
  30.  
  31.      DIAG    (input) CHARACTER*1
  32.              = 'N':  A is non-unit triangular;
  33.              = 'U':  A is unit triangular.
  34.  
  35.      N       (input) INTEGER
  36.              The order of the matrix A.  N >= 0.
  37.  
  38.      AP      (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2)
  39.              On entry, the upper or lower triangular matrix A, stored
  40.              columnwise in a linear array.  The j-th column of A is stored in
  41.              the array AP as follows:  if UPLO = 'U', AP(i + (j-1)*j/2) =
  42.              A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*((2*n-j)/2) =
  43.              A(i,j) for j<=i<=n.  See below for further details.  On exit, the
  44.              (triangular) inverse of the original matrix, in the same packed
  45.              storage format.
  46.  
  47.      INFO    (output) INTEGER
  48.              = 0:  successful exit
  49.              < 0:  if INFO = -i, the i-th argument had an illegal value
  50.              > 0:  if INFO = i, A(i,i) is exactly zero.  The triangular matrix
  51.              is singular and its inverse can not be computed.
  52.  
  53. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  54.      A triangular matrix A can be transferred to packed storage using one of
  55.      the following program segments:
  56.  
  57.      UPLO = 'U':                      UPLO = 'L':
  58.  
  59.            JC = 1                           JC = 1
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDTTTTPPPPTTTTRRRRIIII((((3333FFFF))))                                                          DDDDTTTTPPPPTTTTRRRRIIII((((3333FFFF))))
  71.  
  72.  
  73.  
  74.            DO 2 J = 1, N                    DO 2 J = 1, N
  75.               DO 1 I = 1, J                    DO 1 I = J, N
  76.                  AP(JC+I-1) = A(I,J)              AP(JC+I-J) = A(I,J)
  77.          1    CONTINUE                    1    CONTINUE
  78.               JC = JC + J                      JC = JC + N - J + 1
  79.          2 CONTINUE                       2 CONTINUE
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.